package main

import (
	"fmt"
	. "local/datastructure/graph/am"
)

func main() {
	//g := CreateDirectedNoConnectedGraph()  //有向非连通图
	g2 := CreateNoDirectedConnectedGraph() //无向连通图

	fmt.Println("打印图矩阵:")
	g2.Print()
	fmt.Println()

	fmt.Print("从v1开始dfs遍历:")
	g2.DFS(1)
	fmt.Println()

	fmt.Print("从v1开始bfs遍历:")
	g2.BFS(1)
	fmt.Println()

	fmt.Print("最小生成树(普里姆)\n") //通常计算连通图或强连通图的最小生成树
	g2.Mst_prim(1)

	fmt.Print("最小路径(迪杰斯特拉):")
	g2.Shortestpath_Dj(1, 7)
	fmt.Println()

	fmt.Print("最小路径(佛洛依德):")
	g2.Shortestpath_floyd()
	fmt.Println()

	fmt.Print("最小路径(拓扑排序)")

	fmt.Print("最小路径(关键路径)")
}
